﻿/*
 * Ejemplo de Statemanager XNA 4.0
 * 
 * 100% XNA & XNACommunity- 2010
 * http://100xna.wordpress.com/
 * http://xnacommunity.codeplex.com
 * 
 */

using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework;

namespace StateExample
{
    /// <summary>
    /// Este es nuestro stado principal del juego. En este ejemplo
    /// solo se limita a mostrar una imagen
    /// </summary>
    public class PlayingState : State
    {
        public SpriteBatch spriteBatch;        //Spritebatch principal
        public GraphicsDeviceManager graphics; //Graphics


        Texture2D textura;
        Vector2 posicion;


        public PlayingState(Game game)
            : base(game)
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);
            graphics = GraphicsManager;

            textura = Content.Load<Texture2D>("100xna");
            
            posicion = new Vector2(
                            graphics.PreferredBackBufferWidth / 2 - textura.Width / 2,
                            graphics.PreferredBackBufferHeight / 2 - textura.Height / 2);


            game.IsMouseVisible = true;
        }

        /// <summary>
        /// Este metodo será util para funciones avanzadas que explicaremos en otras entregas
        /// </summary>
        public void Initialize()
        {

        }

        /// <summary>
        /// La logica de nuestro juego
        /// </summary>
        /// <param name="gameTime"></param>
        public override void Update(GameTime gameTime)
        {
            //Logica del estado
        }

        /// <summary>
        /// Pintamos el estado. En este caso, solo hay una imagen
        /// </summary>
        /// <param name="gameTime"></param>
        public override void Draw(GameTime gameTime)
        {
            //Pintar el estado
            spriteBatch.Begin();
            spriteBatch.Draw(textura, posicion, Color.White);
            spriteBatch.End();
        }


    }
}
